package com.huanzhidadi.single.duotai;

/**
    多态：同一个对象(事物)，在不同时刻体现出来的不同状态。
*/
public class DuoTaiTest {
    public static void main(String[] args) {
        // 要有父类引用指向子类对象
        ParentClass aClass = new SubClass();
        System.out.println(aClass.num);
        // 找不到符号
        // System.out.println(aClass.num2);

        aClass.show();
        // 找不到方法
        // aClass.method();
        aClass.function();
    }
}

class ParentClass {
    public int num = 100;

    public ParentClass() {
        System.out.println("构造方法 父类");
    }

    public void show() {
        System.out.println("show 父类");
    }

    public static void function() {
        System.out.println("function 父类");
    }
}

class SubClass extends ParentClass {
    public int num = 200;
    public int num2 = 300;

    public SubClass() {
        System.out.println("构造方法 子类");
    }

    public void show() {
        System.out.println("show 子类");
    }

    public void method() {
        System.out.println("method 子类");
    }

    public static void function() {
        System.out.println("function 子类");
    }
}
